Mono类型解析 您所在的位置:网站首页 mono filter Mono类型解析

Mono类型解析

#Mono类型解析| 来源: 网络整理| 查看: 265

java8中的Consumer、Function Consummer接口

Consumer 是消费者接口,被@FunctionalInterface注解修饰,这意味着它可以看做是一个方法,Consumer接口中定义了一个accept方法。

void accept(T t);

实现Consumer接口的消费者需要重写accept方法,accept方法就是消费生产者生产出来的对象进行消费。Consumer对象可以这样定义:

Consumer c0 = System.out::println; Consumer c1 = x -> System.out.println(x + 1);

Consumer对象可以定义某个对象的方法,或者是类的静态方法,这就是代表 在Consummer的accept方法中使用该对象去执行该方法,或者执行这个类的静态方法。也可以用lambda表达式来进行定义。

Function接口

Function接口也是被@FunctionalInterface注解修饰修饰的,表示一个方法。Function接口中定义了一个apply方法:

R apply(T t);

与Consumer接口类似,Function接口的实现类需要实现apply方法,通常Function类型的对象作为参数都会去调用Function对象的apply方法,也就是执行这个Function。Function对象也可以按照Consumer接口一样的方式进行定义:

Function f0 = WebfluxTest::aaa;//这里aaa方法必须是有返回值的静态方法 Function f1 = (x) -> x + 1;

Function与Consumer的区别就在于,Consumer是没有返回值的,而Function是有返回值的,也因此,如果lambda表达式只有一行,Function中匿名方法中的内容是一个表达式(表示返回的值),而Consumer中匿名方法的内容是一条语句(执行的逻辑)。

Mono和Flux

Mono和Flux都实现了Publisher接口,也就是发布者,一个Mono对象中最多发射一个信号(可能是一个值,或者空,或者一个error),而Flux可以发射多个信号。 Publisher接口中只定义了一个subscribe方法:

public void subscribe(Subscriber


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有